package com.eshop.modules.activity.vo;

import java.io.Serializable;

public class TopCountVo implements Serializable
{
    private Integer lookCount;
    private Integer shareCount;
    private Integer userCount;
    
    TopCountVo(final Integer lookCount, final Integer shareCount, final Integer userCount) {
        this.lookCount = lookCount;
        this.shareCount = shareCount;
        this.userCount = userCount;
    }
    
    public static TopCountVoBuilder builder() {
        return new TopCountVoBuilder();
    }
    
    public Integer getLookCount() {
        return this.lookCount;
    }
    
    public Integer getShareCount() {
        return this.shareCount;
    }
    
    public Integer getUserCount() {
        return this.userCount;
    }
    
    public void setLookCount(final Integer lookCount) {
        this.lookCount = lookCount;
    }
    
    public void setShareCount(final Integer shareCount) {
        this.shareCount = shareCount;
    }
    
    public void setUserCount(final Integer userCount) {
        this.userCount = userCount;
    }
    
    @Override
    public boolean equals(final Object o) {
        if (o == this) {
            return true;
        }
        if (!(o instanceof TopCountVo)) {
            return false;
        }
        final TopCountVo other = (TopCountVo)o;
        if (!other.canEqual(this)) {
            return false;
        }
        final Object this$lookCount = this.getLookCount();
        final Object other$lookCount = other.getLookCount();
        Label_0065: {
            if (this$lookCount == null) {
                if (other$lookCount == null) {
                    break Label_0065;
                }
            }
            else if (this$lookCount.equals(other$lookCount)) {
                break Label_0065;
            }
            return false;
        }
        final Object this$shareCount = this.getShareCount();
        final Object other$shareCount = other.getShareCount();
        Label_0102: {
            if (this$shareCount == null) {
                if (other$shareCount == null) {
                    break Label_0102;
                }
            }
            else if (this$shareCount.equals(other$shareCount)) {
                break Label_0102;
            }
            return false;
        }
        final Object this$userCount = this.getUserCount();
        final Object other$userCount = other.getUserCount();
        if (this$userCount == null) {
            if (other$userCount == null) {
                return true;
            }
        }
        else if (this$userCount.equals(other$userCount)) {
            return true;
        }
        return false;
    }
    
    protected boolean canEqual(final Object other) {
        return other instanceof TopCountVo;
    }
    
    @Override
    public int hashCode() {
        final int PRIME = 59;
        int result = 1;
        final Object $lookCount = this.getLookCount();
        result = result * 59 + (($lookCount == null) ? 43 : $lookCount.hashCode());
        final Object $shareCount = this.getShareCount();
        result = result * 59 + (($shareCount == null) ? 43 : $shareCount.hashCode());
        final Object $userCount = this.getUserCount();
        result = result * 59 + (($userCount == null) ? 43 : $userCount.hashCode());
        return result;
    }
    
    @Override
    public String toString() {
        return "TopCountVo(lookCount=" + this.getLookCount() + ", shareCount=" + this.getShareCount() + ", userCount=" + this.getUserCount() + ")";
    }
    
    public static class TopCountVoBuilder
    {
        private Integer lookCount;
        private Integer shareCount;
        private Integer userCount;
        
        TopCountVoBuilder() {
        }
        
        public TopCountVoBuilder lookCount(final Integer lookCount) {
            this.lookCount = lookCount;
            return this;
        }
        
        public TopCountVoBuilder shareCount(final Integer shareCount) {
            this.shareCount = shareCount;
            return this;
        }
        
        public TopCountVoBuilder userCount(final Integer userCount) {
            this.userCount = userCount;
            return this;
        }
        
        public TopCountVo build() {
            return new TopCountVo(this.lookCount, this.shareCount, this.userCount);
        }
        
        @Override
        public String toString() {
            return "TopCountVo.TopCountVoBuilder(lookCount=" + this.lookCount + ", shareCount=" + this.shareCount + ", userCount=" + this.userCount + ")";
        }
    }
}
